
#ifndef __74HC595_H__
#define __74HC595_H__
#include "sys.h"

#define	HC595_CLK_PIN    	      GPIO_Pin_6
#define HC595_CLK_GPIO          GPIOA
#define HC595_CLK_GPIO_CLK      RCC_APB2Periph_GPIOA
#define HC595_CLK_H()           GPIO_SetBits(GPIOA, HC595_CLK_PIN)
#define HC595_CLK_L()		        GPIO_ResetBits(GPIOA, HC595_CLK_PIN)

#define	HC595_CS_PIN    	      GPIO_Pin_5
#define HC595_CS_GPIO           GPIOA
#define HC595_CS_GPIO_CLK       RCC_APB2Periph_GPIOA
#define HC595_CS_H()            GPIO_SetBits(GPIOA, HC595_CS_PIN)
#define HC595_CS_L()		        GPIO_ResetBits(GPIOA, HC595_CS_PIN)

#define	HC595_DATA_PIN    	    GPIO_Pin_7
#define HC595_DATA_GPIO         GPIOA
#define HC595_DATA_GPIO_CLK     RCC_APB2Periph_GPIOA
#define HC595_DATA_H()          GPIO_SetBits(GPIOA, HC595_DATA_PIN)
#define HC595_DATA_L()		      GPIO_ResetBits(GPIOA, HC595_DATA_PIN)

#define	HC595_OE_PIN    	      GPIO_Pin_0
#define HC595_OE_GPIO           GPIOB
#define HC595_OE_GPIO_OE        RCC_APB2Periph_GPIOB


void HC595Send(u8 data);
void HC595Init(void);
void HC595Load(void);
void eleSend(u8 floor,u8 total);

#endif
